package com.t.bricks.bussiness.service.rechargecard;

import com.t.bricks.bussiness.model.rechargecard.AddInfo;
import com.t.bricks.bussiness.model.rechargecard.ConditionRechargeCard;
import com.t.bricks.model.MsgEmity;
import com.t.bricks.model.OrderInfoList;
import com.t.bricks.model.Page;

/**
 * 充值卡RechargeCard表基本业务操作类接口定义
 */
public interface RechargeCardService {
	
	/**
	 * 批量添加
	 * @Param addInfo 批量添加信息实体
	 * @return MsgEmity
	 */
	MsgEmity adds(AddInfo addInfo);

	/**
	 * 删除
	 * @param iVersion 数据版本号
	 * @param uId 记录编号
	 * @return MsgEmity
	 */
	MsgEmity del(Integer iVersion, String uId);

	/**
	 * 查询分页
	 * @param page 分页信息对象
	 * @param orders 排序数据集合
	 * @param sLikeStr 全文检索
	 * @param condition 查询条件对象
	 * @return MsgEmity
	 */
	MsgEmity findByPage(Page page, OrderInfoList orders, String sLikeStr,
			ConditionRechargeCard condition);

	/**
	 * 根据记录编号查询符合分页数据的某条记录
	 * @param uId 记录编号 记录编号
	 * @return MsgEmity
	 */
	MsgEmity findByPageRow(String uId);

	/**
	 * 创建Excel文件内容
	 * @param orders 排序数据集合
	 * @param sLikeStr 全文检索
	 * @param condition 查询条件对象
	 * @return MsgEmity 返回结构中data为创建的经过压缩的Excel内容,接收端需要进行解压,msg为文件名
	 */
	MsgEmity export(OrderInfoList orders, String sLikeStr, ConditionRechargeCard condition);

	//----------------------------- 自动生成代码结束 ---------------------------//

	/**
	 * 激活充值卡
	 * @param sNo 记录编号
	 * @param sPass 激活码
	 * @return
	 */
	MsgEmity active(String sNo, String sPass);

	/**
	 * 充值卡充值
	 * 若想激活并充值则必须传入激活码
	 * @param sNo
	 * @param sPass 激活码
	 * @return MsgEmity
	 */
	MsgEmity recharge(String sNo, String sPass);
	
	/**
	 * 将过期数据更新状态
	 * @return
	 */
	MsgEmity expire();
	
	/**
	 * 查询当前顾客所持优惠卷
	 * @param iState
	 * @return MsgEmity List<Coupon>
	 */
	MsgEmity findByCustomer(Integer iState);

}
